#include <iostream>

class RentHouse
{
public:
    virtual void rentHouse() = 0;
};

class LandLord : public RentHouse
{
public:
    virtual void rentHouse() override
    {
        std::cout << "将房子租出去" << std::endl;
    }
};

class Proxy : public RentHouse
{
public:
    virtual void rentHouse() override
    {
        std::cout << "发布招租公告" << std::endl;
        std::cout << "带人看房" << std::endl;
        _landlord.rentHouse();
        std::cout << "负责租后维修" << std::endl;
    }

private:
    LandLord _landlord;
};

int main()
{
    Proxy proxy;
    proxy.rentHouse();
    return 0;
}